/** * MODIFIED BY LIQUID THEMES * Fresco - A Beautiful Responsive Lightbox - v2.3.2 * (c) 2012-2021 Nick Stakenburg * * https://github.com/staaky/fresco * * @license: https://creativecommons.org/licenses/by/4.0 */ !function(i,e){"function"==typeof define&&define.amd?define(["jquery"],e):"object"==typeof module&&module.exports?module.exports=e(require("jquery")):i.Fresco=e(jQuery)}(this,(function($){function baseToString(i){return"string"==typeof i?i:null==i?"":i+""}function Timers(){return this.initialize.apply(this,_slice.call(arguments))}function getURIData(i){var e={type:"image"};return $.each(Types,(function(t,s){var n=s.data(i);n&&((e=n).type=t,e.url=i)})),e}function detectExtension(i){var e=(i||"").replace(/\?.*/g,"").match(/\.([^.]{3,4})$/);return e?e[1].toLowerCase():null}function View(){this.initialize.apply(this,_slice.call(arguments))}function Thumbnail(){this.initialize.apply(this,_slice.call(arguments))}var Fresco={};$.extend(Fresco,{version:"2.3.2"}),Fresco.Skins={fresco:{}};var Bounds={viewport:function(){var i={width:$(window).width()};if(Browser.MobileSafari||Browser.Android&&Browser.Gecko){var e=document.documentElement.clientWidth/window.innerWidth;i.height=window.innerHeight*e}else i.height=$(window).height();return i}},Browser=function(i){function e(e){var t=new RegExp(e+"([\\d.]+)").exec(i);return!t||parseFloat(t[1])}return{IE:!(!window.attachEvent||-1!==i.indexOf("Opera"))&&e("MSIE "),Opera:i.indexOf("Opera")>-1&&(!!window.opera&&opera.version&&parseFloat(opera.version())||7.55),WebKit:i.indexOf("AppleWebKit/")>-1&&e("AppleWebKit/"),Gecko:i.indexOf("Gecko")>-1&&-1===i.indexOf("KHTML")&&e("rv:"),MobileSafari:!!i.match(/Apple.*Mobile.*Safari/),Chrome:i.indexOf("Chrome")>-1&&e("Chrome/"),ChromeMobile:i.indexOf("CrMo")>-1&&e("CrMo/"),Android:i.indexOf("Android")>-1&&e("Android "),IEMobile:i.indexOf("IEMobile")>-1&&e("IEMobile/")}}(navigator.userAgent),_slice=Array.prototype.slice,_={isElement:function(i){return i&&1===i.nodeType},String:{capitalize:function(i){return(i=baseToString(i))&&i.charAt(0).toUpperCase()+i.slice(1)}}};!function(){function i(i){var e;if(i&&i.originalEvent&&(i.originalEvent.wheelDelta?e=i.originalEvent.wheelDelta/120:i.originalEvent.detail&&(e=-i.originalEvent.detail/3),e)){var t=$.Event("fresco:mousewheel");$(i.target).trigger(t,e),t.isPropagationStopped()&&i.stopPropagation(),t.isDefaultPrevented()&&i.preventDefault()}}$(document.documentElement).on("mousewheel DOMMouseScroll",i)}();var Fit={within:function(i,e,t){for(var s=$.extend({height:!0,width:!0},t||{}),n=$.extend({},e),o=1,a=5,h={width:s.width,height:s.height};a>0&&(h.width&&n.width>i.width||h.height&&n.height>i.height);){var r=1,d=1;h.width&&n.width>i.width&&(r=i.width/n.width),h.height&&n.height>i.height&&(d=i.height/n.height),o=Math.min(r,d),n={width:e.width*o,height:e.height*o},a--}return n.width=Math.max(n.width,0),n.height=Math.max(n.height,0),n}};$.extend($.easing,{frescoEaseInCubic:function(i,e,t,s,n){return s*(e/=n)*e*e+t},frescoEaseInSine:function(i,e,t,s,n){return-s*Math.cos(e/n*(Math.PI/2))+s+t},frescoEaseOutSine:function(i,e,t,s,n){return s*Math.sin(e/n*(Math.PI/2))+t}});var Support=function(){function i(i){return t(i,"prefix")}function e(i,e){for(var t in i)if(void 0!==s.style[i[t]])return"prefix"!==e||i[t];return!1}function t(i,t){var s=i.charAt(0).toUpperCase()+i.substr(1),o;return e((i+" "+n.join(s+" ")+s).split(" "),t)}var s=document.createElement("div"),n="Webkit Moz O ms Khtml".split(" "),o;return{canvas:(o=document.createElement("canvas"),!(!o.getContext||!o.getContext("2d"))),css:{animation:t("animation"),transform:t("transform"),prefixed:i},svg:!!document.createElementNS&&!!document.createElementNS("http://www.w3.org/2000/svg","svg").createSVGRect,touch:function(){try{return!!("ontouchstart"in window||window.DocumentTouch&&document instanceof DocumentTouch)}catch(i){return!1}}()}}();Support.detectMobileTouch=function(){Support.mobileTouch=Support.touch&&(Browser.MobileSafari||Browser.Android||Browser.IEMobile||Browser.ChromeMobile||!/^(Win|Mac|Linux)/.test(navigator.platform))},Support.detectMobileTouch();var ImageReady=function(){return this.initialize.apply(this,Array.prototype.slice.call(arguments))};$.extend(ImageReady.prototype,{supports:{naturalWidth:"naturalWidth"in new Image},initialize:function(i,e,t,s){this.img=$(i)[0],this.successCallback=e,this.errorCallback=t,this.isLoaded=!1,this.options=$.extend({method:"naturalWidth",pollFallbackAfter:1e3},s||{}),this.supports.naturalWidth&&"onload"!==this.options.method?this.img.complete&&void 0!==this.img.naturalWidth?setTimeout(function(){this.img.naturalWidth>0?this.success():this.error()}.bind(this)):($(this.img).bind("error",function(){setTimeout(function(){this.error()}.bind(this))}.bind(this)),this.intervals=[[1e3,10],[2e3,50],[4e3,100],[2e4,500]],this._ipos=0,this._time=0,this._delay=this.intervals[this._ipos][1],this.poll()):setTimeout(this.fallback.bind(this))},poll:function(){this._polling=setTimeout(function(){if(this.img.naturalWidth>0)this.success();else{if(this._time+=this._delay,this.options.pollFallbackAfter&&this._time>=this.options.pollFallbackAfter&&!this._usedPollFallback&&(this._usedPollFallback=!0,this.fallback()),this._time>this.intervals[this._ipos][0]){if(!this.intervals[this._ipos+1])return void this.error();this._ipos++,this._delay=this.intervals[this._ipos][1]}this.poll()}}.bind(this),this._delay)},fallback:function(){var i=new Image;this._fallbackImg=i,i.onload=function(){i.onload=function(){},this.supports.naturalWidth||(this.img.naturalWidth=i.width,this.img.naturalHeight=i.height),this.success()}.bind(this),i.onerror=this.error.bind(this),i.src=this.img.src},abort:function(){this._fallbackImg&&(this._fallbackImg.onload=function(){}),this._polling&&(clearTimeout(this._polling),this._polling=null)},success:function(){this._calledSuccess||(this._calledSuccess=!0,this.isLoaded=!0,this.successCallback(this))},error:function(){this._calledError||(this._calledError=!0,this.abort(),this.errorCallback&&this.errorCallback(this))}}),$.extend(Timers.prototype,{initialize:function(){this._timers={}},set:function(i,e,t){this._timers[i]=setTimeout(e,t)},get:function(i){return this._timers[i]},clear:function(i){i?this._timers[i]&&(clearTimeout(this._timers[i]),delete this._timers[i]):this.clearAll()},clearAll:function(){$.each(this._timers,(function(i,e){clearTimeout(e)})),this._timers={}}});var Type={isVideo:function(i){return/^(youtube|vimeo)$/.test(i)}},Types={image:{extensions:"bmp gif jpeg jpg png webp",detect:function(i){return $.inArray(detectExtension(i),this.extensions.split(" "))>-1},data:function(i){return!!this.detect()&&{extension:detectExtension(i)}}},vimeo:{detect:function(i){var e=/(vimeo\.com)\/([a-zA-Z0-9-_]+)(?:\S+)?$/i.exec(i);return!(!e||!e[2])&&e[2]},data:function(i){var e=this.detect(i);return!!e&&{id:e}}},youtube:{detect:function(i){var e=/(youtube\.com|youtu\.be)\/watch\?(?=.*vi?=([a-zA-Z0-9-_]+))(?:\S+)?$/.exec(i);return e&&e[2]?e[2]:!(!(e=/(youtube\.com|youtu\.be)\/(vi?\/|u\/|embed\/)?([a-zA-Z0-9-_]+)(?:\S+)?$/i.exec(i))||!e[3])&&e[3]},data:function(i){var e=this.detect(i);return!!e&&{id:e}}}},VimeoThumbnail=function(){var i=function(){return this.initialize.apply(this,_slice.call(arguments))};$.extend(i.prototype,{initialize:function(i,e,t){this.url=i,this.successCallback=e,this.errorCallback=t,this.load()},load:function(){var i=e.get(this.url);if(i)return this.successCallback(i.data.url);var t="http"+(window.location&&"https:"===window.location.protocol?"s":"")+":",s=getURIData(this.url).id;this._xhr=$.getJSON(t+"//vimeo.com/api/oembed.json?url="+t+"//vimeo.com/"+s+"&callback=?",function(i){if(i&&i.thumbnail_url){var t={url:i.thumbnail_url};e.set(this.url,t),this.successCallback(t.url)}else this.errorCallback()}.bind(this))},abort:function(){this._xhr&&(this._xhr.abort(),this._xhr=null)}});var e={cache:[],get:function(i){for(var e=null,t=0;t").addClass("fr-overlay").hide().append($("
").addClass("fr-overlay-background")),this.element.on("click",function(){var i=Pages.page;i&&i.view&&i.view.options.overlay&&!i.view.options.overlay.close||Window.hide()}.bind(this)),Support.mobileTouch&&this.element.addClass("fr-mobile-touch"),this.element.on("fresco:mousewheel",(function(i){i.preventDefault()}))},setSkin:function(i){this.skin&&this.element.removeClass("fr-overlay-skin-"+this.skin),this.element.addClass("fr-overlay-skin-"+i),this.skin=i},attach:function(){$(document.body).append(this.element)},detach:function(){this.element.detach()},show:function(i,e){if(this.visible)i&&i();else{this.visible=!0,this.attach(),this.max();var t=Pages.page&&Pages.page.view.options.effects.window.show||0,s=("number"==typeof e?e:t)||0;this.element.stop(!0).fadeTo(s,1,i)}},hide:function(i,e){if(this.visible){var t=Pages.page&&Pages.page.view.options.effects.window.hide||0,s=("number"==typeof e?e:t)||0;this.element.stop(!0).fadeOut(s||0,function(){this.detach(),this.visible=!1,i&&i()}.bind(this))}else i&&i()},getScrollDimensions:function(){var i={};return $.each(["width","height"],(function(e,t){var s=t.substr(0,1).toUpperCase()+t.substr(1),n=document.documentElement;i[t]=(Browser.IE?Math.max(n["offset"+s],n["scroll"+s]):Browser.WebKit?document.body["scroll"+s]:n["scroll"+s])||0})),i},max:function(){var i;if(Browser.MobileSafari&&Browser.WebKit&&Browser.WebKit<533.18&&(i=this.getScrollDimensions(),this.element.css(i)),Browser.IE&&Browser.IE<9){var e=Bounds.viewport();this.element.css({height:e.height,width:e.width})}Support.mobileTouch&&!i&&this.element.css({height:this.getScrollDimensions().height})}},Window={initialize:function(){this.queues=[],this.queues.hide=$({}),this.pages=[],this._tracking=[],this._first=!0,this.timers=new Timers,this.build(),this.setSkin(Options.defaults.skin)},build:function(){if(this.element=$("
").addClass("fr-window fr-measured").hide().append(this._box=$("
").addClass("fr-box").append(this._pages=$("
").addClass("fr-pages"))).append(this._thumbnails=$("
").addClass("fr-thumbnails")),Overlay.initialize(),Pages.initialize(this._pages),Thumbnails.initialize(this._thumbnails),Spinner.initialize(),UI.initialize(),this.element.addClass("fr"+(Support.mobileTouch?"":"-no")+"-mobile-touch"),this.element.addClass("fr"+(Support.svg?"":"-no")+"-svg"),Browser.IE)for(var i=7;i<=9;i++)Browser.IE1?Math.min(.5*t,50):1)}},_show:function(i,e){var t=("number"==typeof e?e:Pages.page&&Pages.page.view.options.effects.window.show)||0;this.element.stop(!0).fadeTo(t,1,i)},hide:function(i){if(this.view){var e=this.queues.hide;e.queue([]),this.timers.clear("show-window"),this.timers.clear("hide-overlay");var t=Pages.page?Pages.page.view.options.effects.window.hide:0;e.queue(function(i){Pages.stop(),Spinner.hide(),i()}.bind(this)),e.queue(function(i){UI.disable(),UI.hide(null,t),Keyboard.disable(),i()}.bind(this)),e.queue(function(i){var e=2;this._hide((function(){--e<1&&i()}),t),this.timers.set("hide-overlay",function(){Overlay.hide((function(){--e<1&&i()}),t)}.bind(this),t>1?Math.min(.5*t,150):1),this._first=!0}.bind(this)),e.queue(function(i){this._reset(),this.stopObservingResize(),Pages.removeAll(),Thumbnails.clear(),this.timers.clear(),this._position=-1;var e=Pages.page&&Pages.page.view.options.afterHide;"function"==typeof e&&e.call(Fresco),this.view=null,this.opening=!1,this.closing=!1,this.detach(),i()}.bind(this)),"function"==typeof i&&e.queue(function(e){i(),e()}.bind(this))}},_hide:function(i,e){var t=("number"==typeof e?e:Pages.page&&Pages.page.view.options.effects.window.hide)||0;this.element.stop(!0).fadeOut(t,i)},load:function(i,e){this.views=i,this.attach(),Thumbnails.load(i),Pages.load(i),this.startObservingResize(),e&&this.setPosition(e)},setPosition:function(i,e){this._position=i,this.view=this.views[i-1],this.stopHideQueue(),this.page=Pages.show(i,function(){e&&e()}.bind(this))},stopHideQueue:function(){this.queues.hide.queue([])},_reset:function(){this.visible=!1,UI.hide(null,0),UI.reset()},mayPrevious:function(){return this.view&&this.view.options.loop&&this.views&&this.views.length>1||1!==this._position},previous:function(i){var e=this.mayPrevious();(i||e)&&this.setPosition(this.getSurroundingIndexes().previous)},mayNext:function(){var i=this.views&&this.views.length>1;return this.view&&this.view.options.loop&&i||i&&1!==this.getSurroundingIndexes().next},next:function(i){var e=this.mayNext();(i||e)&&this.setPosition(this.getSurroundingIndexes().next)},getSurroundingIndexes:function(){if(!this.views)return{};var i=this._position,e=this.views.length,t,s;return{previous:i<=1?e:i-1,next:i>=e?1:i+1}}},Keyboard={enabled:!1,keyCode:{left:37,right:39,esc:27},enable:function(i){this.disable(),i&&($(document).on("keydown",this._onKeyDownHandler=this.onKeyDown.bind(this)).on("keyup",this._onKeyUpHandler=this.onKeyUp.bind(this)),this.enabled=i)},disable:function(){this.enabled=!1,this._onKeyUpHandler&&($(document).off("keyup",this._onKeyUpHandler).off("keydown",this._onKeyDownHandler),this._onKeyUpHandler=this._onKeyDownHandler=null)},onKeyDown:function(i){if(this.enabled){var e=this.getKeyByKeyCode(i.keyCode);if(e&&(!e||!this.enabled||this.enabled[e]))switch(i.preventDefault(),i.stopPropagation(),e){case"left":Window.previous();break;case"right":Window.next();break}}},onKeyUp:function(i){if(this.enabled){var e=this.getKeyByKeyCode(i.keyCode);if(e&&(!e||!this.enabled||this.enabled[e]))switch(e){case"esc":Window.hide();break}}},getKeyByKeyCode:function(i){for(var e in this.keyCode)if(this.keyCode[e]===i)return e;return null}},Page=function(){function i(){return this.initialize.apply(this,_slice.call(arguments))}var e=0,t={},s=$("
").addClass("fr-stroke fr-stroke-top fr-stroke-horizontal").append($("
").addClass("fr-stroke-color")).add($("
").addClass("fr-stroke fr-stroke-bottom fr-stroke-horizontal").append($("
").addClass("fr-stroke-color"))).add($("
").addClass("fr-stroke fr-stroke-left fr-stroke-vertical").append($("
").addClass("fr-stroke-color"))).add($("
").addClass("fr-stroke fr-stroke-right fr-stroke-vertical").append($("
").addClass("fr-stroke-color")));return $.extend(i.prototype,{initialize:function(i,t,s){this.view=i,this.dimensions={width:0,height:0},this.uid=e++,this._position=t,this._total=s,this._fullClick=!1,this._visible=!1,this.queues={},this.queues.showhide=$({})},create:function(){if(!this._created){Pages.element.append(this.element=$("
").addClass("fr-page").append(this.container=$("
").addClass("fr-container")).css({opacity:0}).hide());var i=this.view.options.position&&this._total>1;if(i&&this.element.addClass("fr-has-position"),(this.view.caption||i)&&(this.element.append(this.info=$("
").addClass("fr-info").append($("
").addClass("fr-info-background")).append(s.clone(!0)).append(this.infoPadder=$("
").addClass("fr-info-padder"))),i&&(this.element.addClass("fr-has-position"),this.infoPadder.append(this.pos=$("
").addClass("fr-position").append($("").addClass("fr-position-text").html(this._position+" / "+this._total)))),this.view.caption&&this.infoPadder.append(this.caption=$("
").addClass("fr-caption").html(this.view.caption))),this.container.append(this.background=$("
").addClass("fr-content-background")).append(this.content=$("
").addClass("fr-content")),"image"==this.view.type&&(this.content.append(this.image=$("").addClass("fr-content-element").attr({src:this.view.url})),this.content.append(s.clone(!0))),i&&"outside"==this.view.options.ui&&this.container.append(this.positionOutside=$("
").addClass("fr-position-outside").append($("
").addClass("fr-position-background")).append($("").addClass("fr-position-text").html(this._position+" / "+this._total))),"inside"==this.view.options.ui){this.content.append(this.previousInside=$("
").addClass("fr-side fr-side-previous fr-toggle-ui").append($("
").addClass("fr-side-button").append($("
").addClass("fr-side-button-background")).append($("
").addClass("fr-side-button-icon")))).append(this.nextInside=$("
").addClass("fr-side fr-side-next fr-toggle-ui").append($("
").addClass("fr-side-button").append($("
").addClass("fr-side-button-background")).append($("
").addClass("fr-side-button-icon")))).append(this.closeInside=$("
").addClass("fr-close fr-toggle-ui").append($("
").addClass("fr-close-background")).append($("
").addClass("fr-close-icon"))),(this.view.caption||i&&this.view.grouped.caption)&&(this.content.append(this.infoInside=$("
").addClass("fr-info fr-toggle-ui").append($("
").addClass("fr-info-background")).append(s.clone(!0)).append(this.infoPadderInside=$("
").addClass("fr-info-padder"))),i&&this.infoPadderInside.append(this.posInside=$("
").addClass("fr-position").append($("").addClass("fr-position-text").html(this._position+" / "+this._total))),this.view.caption&&this.infoPadderInside.append(this.captionInside=$("
").addClass("fr-caption").html(this.view.caption))),this.view.caption||!i||this.view.grouped.caption||this.content.append(this.positionInside=$("
").addClass("fr-position-inside fr-toggle-ui").append($("
").addClass("fr-position-background")).append($("").addClass("fr-position-text").html(this._position+" / "+this._total)));var e=this.view.options.loop&&this._total>1||1!=this._position,t=this.view.options.loop&&this._total>1||this._position=t;o--){var a;(a=Pages.pages[o-1])._position!=n&&e.push(a)}return e},preloadSurroundingImages:function(){var i=this._getSurroundingPages();$.each(i,function(i,e){e.preload()}.bind(this))},preload:function(){this.preloading||this.preloaded||"image"!=this.view.type||!this.view.options.preload||this.loaded||(this.create(),this.preloading=!0,this.preloadReady=new ImageReady(this.image[0],function(i){this.loaded=!0,t[this.view.url]=!0,this.preloading=!1,this.preloaded=!0,this.dimensions={width:i.img.naturalWidth,height:i.img.naturalHeight}}.bind(this),null,{method:"naturalWidth"}))},load:function(i,e){if(this.create(),this.loaded)i&&i();else switch(this.abort(),this.loading=!0,this.view.options.spinner&&(this._spinnerDelay=setTimeout(function(){Spinner.show()}.bind(this),this.view.options.spinnerDelay||0)),this.view.type){case"image":if(this.error)return void(i&&i());this.imageReady=new ImageReady(this.image[0],function(e){this._markAsLoaded(),this.setDimensions({width:e.img.naturalWidth,height:e.img.naturalHeight}),i&&i()}.bind(this),function(){this._markAsLoaded(),this.image.hide(),this.content.prepend(this.error=$("
").addClass("fr-error fr-content-element").append($("
").addClass("fr-error-icon"))),this.element.addClass("fr-has-error"),this.setDimensions({width:this.error.outerWidth(),height:this.error.outerHeight()}),this.error.css({width:"100%",height:"100%"}),i&&i()}.bind(this),{method:this.view.options.loadedMethod});break;case"vimeo":this.vimeoReady=new VimeoReady(this.view.url,function(e){this._markAsLoaded(),this.setDimensions({width:e.dimensions.width,height:e.dimensions.height}),i&&i()}.bind(this));break;case"youtube":this._markAsLoaded(),this.setDimensions({width:this.view.options.width,height:this.view.options.height}),i&&i();break}},setDimensions:function(i){if(this.dimensions=i,this.view.options.maxWidth||this.view.options.maxHeight){var e=this.view.options,t={width:e.maxWidth?e.maxWidth:this.dimensions.width,height:e.maxHeight?e.maxHeight:this.dimensions.height};this.dimensions=Fit.within(t,this.dimensions)}},_markAsLoaded:function(){this._abortSpinnerDelay(),this.loading=!1,this.loaded=!0,t[this.view.url]=!0,Spinner.hide(null,null,this._position)},isVideo:function(){return Type.isVideo(this.view.type)},insertVideo:function(i){if(!this.playerIframe&&this.isVideo()){var e="http"+(window.location&&"https:"===window.location.protocol?"s":"")+":",t=$.extend({},this.view.options[this.view.type]||{}),s=$.param(t),n,o={vimeo:e+"//player.vimeo.com/video/{id}?{queryString}",youtube:e+"//www.youtube.com/embed/{id}?{queryString}"}[this.view.type].replace("{id}",this.view._data.id).replace("{queryString}",s);this.content.prepend(this.playerIframe=$("